package it.dgtest.server.ibatis.mapper;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.oa.gform.server.ibatis.GIBatisMapper;
import java.util.List;
import it.dgtest.shared.Provincia;
																			


/***
 * Autogenerato con DecGen.
 * Annotation mapper della tabella TProvincia
 * @author Marco
 *
 */
@CacheNamespace(readWrite = true)
public interface ProvinciaMapper extends GIBatisMapper<Provincia,Long> {
	@Select("select * from TProvincia where idProvincia = #{idProvincia}")
    @Options(useCache = false, flushCache = false)
    Provincia selectById(Long idProvincia);

	@Select("select * from TProvincia")
    List<Provincia> selectAll();

	@Insert( { "insert into TProvincia(IdProvincia, Nome)",
               "values(#{idProvincia}, #{nome})" })
    int insert(Provincia provincia);

    @Delete("delete from TProvincia where IdProvincia =  #{idProvincia}")
    int delete(Provincia provincia);
    
    @Update( {"update TProvincia set IdProvincia=#{idProvincia}, Nome=#{nome}",
              "where  IdProvincia = #{idProvincia}" })
    int update(Provincia provincia);
    
    @Select("SELECT LAST_INSERT_ID() AS selectLastInsertedID")
    Long selectLastInsertedID();
}
